/*
 * AppModule3.h
 *
 *  Created on: 13.12.2011
 *      Author: caiiiycuk
 */

#ifndef APPMODULE3_H_
#define APPMODULE3_H_

#include "ioc.h"

namespace Module {
class AppModule2;
}

namespace ServiceV2 {
class GreetingService;
}

namespace Nested {

class AppModule3 {
private:
	Module::AppModule2* module2;
	IOC<AppModule3> 	ioc;

public:
	AppModule3(Module::AppModule2* module2): module2(module2), ioc(this) {
	}

	SUB<Module::AppModule2> getModule2() {
		return module2;
	}

	BIND<ServiceV2::GreetingService, SINGLETON< ServiceV2::GreetingService> >getGreetingService();

};

}

#endif /* APPMODULE3_H_ */
